package com.zcxy360.sandtable.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CourseTeamExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CourseTeamExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andTeamIdIsNull() {
            addCriterion("course_team.team_id is null");
            return (Criteria) this;
        }

        public Criteria andTeamIdIsNotNull() {
            addCriterion("course_team.team_id is not null");
            return (Criteria) this;
        }

        public Criteria andTeamIdEqualTo(Integer value) {
            addCriterion("course_team.team_id =", value, "teamId");
            return (Criteria) this;
        }

        public Criteria andTeamIdNotEqualTo(Integer value) {
            addCriterion("course_team.team_id <>", value, "teamId");
            return (Criteria) this;
        }

        public Criteria andTeamIdGreaterThan(Integer value) {
            addCriterion("course_team.team_id >", value, "teamId");
            return (Criteria) this;
        }

        public Criteria andTeamIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("course_team.team_id >=", value, "teamId");
            return (Criteria) this;
        }

        public Criteria andTeamIdLessThan(Integer value) {
            addCriterion("course_team.team_id <", value, "teamId");
            return (Criteria) this;
        }

        public Criteria andTeamIdLessThanOrEqualTo(Integer value) {
            addCriterion("course_team.team_id <=", value, "teamId");
            return (Criteria) this;
        }

        public Criteria andTeamIdIn(List<Integer> values) {
            addCriterion("course_team.team_id in", values, "teamId");
            return (Criteria) this;
        }

        public Criteria andTeamIdNotIn(List<Integer> values) {
            addCriterion("course_team.team_id not in", values, "teamId");
            return (Criteria) this;
        }

        public Criteria andTeamIdBetween(Integer value1, Integer value2) {
            addCriterion("course_team.team_id between", value1, value2, "teamId");
            return (Criteria) this;
        }

        public Criteria andTeamIdNotBetween(Integer value1, Integer value2) {
            addCriterion("course_team.team_id not between", value1, value2, "teamId");
            return (Criteria) this;
        }

        public Criteria andCourseIdIsNull() {
            addCriterion("course_team.course_id is null");
            return (Criteria) this;
        }

        public Criteria andCourseIdIsNotNull() {
            addCriterion("course_team.course_id is not null");
            return (Criteria) this;
        }

        public Criteria andCourseIdEqualTo(Integer value) {
            addCriterion("course_team.course_id =", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdNotEqualTo(Integer value) {
            addCriterion("course_team.course_id <>", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdGreaterThan(Integer value) {
            addCriterion("course_team.course_id >", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("course_team.course_id >=", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdLessThan(Integer value) {
            addCriterion("course_team.course_id <", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdLessThanOrEqualTo(Integer value) {
            addCriterion("course_team.course_id <=", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdIn(List<Integer> values) {
            addCriterion("course_team.course_id in", values, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdNotIn(List<Integer> values) {
            addCriterion("course_team.course_id not in", values, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdBetween(Integer value1, Integer value2) {
            addCriterion("course_team.course_id between", value1, value2, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdNotBetween(Integer value1, Integer value2) {
            addCriterion("course_team.course_id not between", value1, value2, "courseId");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("course_team.name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("course_team.name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("course_team.name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("course_team.name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("course_team.name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("course_team.name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("course_team.name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("course_team.name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("course_team.name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("course_team.name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("course_team.name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("course_team.name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("course_team.name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("course_team.name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andIntroIsNull() {
            addCriterion("course_team.intro is null");
            return (Criteria) this;
        }

        public Criteria andIntroIsNotNull() {
            addCriterion("course_team.intro is not null");
            return (Criteria) this;
        }

        public Criteria andIntroEqualTo(String value) {
            addCriterion("course_team.intro =", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroNotEqualTo(String value) {
            addCriterion("course_team.intro <>", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroGreaterThan(String value) {
            addCriterion("course_team.intro >", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroGreaterThanOrEqualTo(String value) {
            addCriterion("course_team.intro >=", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroLessThan(String value) {
            addCriterion("course_team.intro <", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroLessThanOrEqualTo(String value) {
            addCriterion("course_team.intro <=", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroLike(String value) {
            addCriterion("course_team.intro like", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroNotLike(String value) {
            addCriterion("course_team.intro not like", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroIn(List<String> values) {
            addCriterion("course_team.intro in", values, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroNotIn(List<String> values) {
            addCriterion("course_team.intro not in", values, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroBetween(String value1, String value2) {
            addCriterion("course_team.intro between", value1, value2, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroNotBetween(String value1, String value2) {
            addCriterion("course_team.intro not between", value1, value2, "intro");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("course_team.type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("course_team.type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Integer value) {
            addCriterion("course_team.type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(Integer value) {
            addCriterion("course_team.type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(Integer value) {
            addCriterion("course_team.type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("course_team.type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(Integer value) {
            addCriterion("course_team.type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(Integer value) {
            addCriterion("course_team.type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<Integer> values) {
            addCriterion("course_team.type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<Integer> values) {
            addCriterion("course_team.type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(Integer value1, Integer value2) {
            addCriterion("course_team.type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("course_team.type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andInferIntroIsNull() {
            addCriterion("course_team.infer_intro is null");
            return (Criteria) this;
        }

        public Criteria andInferIntroIsNotNull() {
            addCriterion("course_team.infer_intro is not null");
            return (Criteria) this;
        }

        public Criteria andInferIntroEqualTo(String value) {
            addCriterion("course_team.infer_intro =", value, "inferIntro");
            return (Criteria) this;
        }

        public Criteria andInferIntroNotEqualTo(String value) {
            addCriterion("course_team.infer_intro <>", value, "inferIntro");
            return (Criteria) this;
        }

        public Criteria andInferIntroGreaterThan(String value) {
            addCriterion("course_team.infer_intro >", value, "inferIntro");
            return (Criteria) this;
        }

        public Criteria andInferIntroGreaterThanOrEqualTo(String value) {
            addCriterion("course_team.infer_intro >=", value, "inferIntro");
            return (Criteria) this;
        }

        public Criteria andInferIntroLessThan(String value) {
            addCriterion("course_team.infer_intro <", value, "inferIntro");
            return (Criteria) this;
        }

        public Criteria andInferIntroLessThanOrEqualTo(String value) {
            addCriterion("course_team.infer_intro <=", value, "inferIntro");
            return (Criteria) this;
        }

        public Criteria andInferIntroLike(String value) {
            addCriterion("course_team.infer_intro like", value, "inferIntro");
            return (Criteria) this;
        }

        public Criteria andInferIntroNotLike(String value) {
            addCriterion("course_team.infer_intro not like", value, "inferIntro");
            return (Criteria) this;
        }

        public Criteria andInferIntroIn(List<String> values) {
            addCriterion("course_team.infer_intro in", values, "inferIntro");
            return (Criteria) this;
        }

        public Criteria andInferIntroNotIn(List<String> values) {
            addCriterion("course_team.infer_intro not in", values, "inferIntro");
            return (Criteria) this;
        }

        public Criteria andInferIntroBetween(String value1, String value2) {
            addCriterion("course_team.infer_intro between", value1, value2, "inferIntro");
            return (Criteria) this;
        }

        public Criteria andInferIntroNotBetween(String value1, String value2) {
            addCriterion("course_team.infer_intro not between", value1, value2, "inferIntro");
            return (Criteria) this;
        }

        public Criteria andInferVideoPathIsNull() {
            addCriterion("course_team.infer_video_path is null");
            return (Criteria) this;
        }

        public Criteria andInferVideoPathIsNotNull() {
            addCriterion("course_team.infer_video_path is not null");
            return (Criteria) this;
        }

        public Criteria andInferVideoPathEqualTo(String value) {
            addCriterion("course_team.infer_video_path =", value, "inferVideoPath");
            return (Criteria) this;
        }

        public Criteria andInferVideoPathNotEqualTo(String value) {
            addCriterion("course_team.infer_video_path <>", value, "inferVideoPath");
            return (Criteria) this;
        }

        public Criteria andInferVideoPathGreaterThan(String value) {
            addCriterion("course_team.infer_video_path >", value, "inferVideoPath");
            return (Criteria) this;
        }

        public Criteria andInferVideoPathGreaterThanOrEqualTo(String value) {
            addCriterion("course_team.infer_video_path >=", value, "inferVideoPath");
            return (Criteria) this;
        }

        public Criteria andInferVideoPathLessThan(String value) {
            addCriterion("course_team.infer_video_path <", value, "inferVideoPath");
            return (Criteria) this;
        }

        public Criteria andInferVideoPathLessThanOrEqualTo(String value) {
            addCriterion("course_team.infer_video_path <=", value, "inferVideoPath");
            return (Criteria) this;
        }

        public Criteria andInferVideoPathLike(String value) {
            addCriterion("course_team.infer_video_path like", value, "inferVideoPath");
            return (Criteria) this;
        }

        public Criteria andInferVideoPathNotLike(String value) {
            addCriterion("course_team.infer_video_path not like", value, "inferVideoPath");
            return (Criteria) this;
        }

        public Criteria andInferVideoPathIn(List<String> values) {
            addCriterion("course_team.infer_video_path in", values, "inferVideoPath");
            return (Criteria) this;
        }

        public Criteria andInferVideoPathNotIn(List<String> values) {
            addCriterion("course_team.infer_video_path not in", values, "inferVideoPath");
            return (Criteria) this;
        }

        public Criteria andInferVideoPathBetween(String value1, String value2) {
            addCriterion("course_team.infer_video_path between", value1, value2, "inferVideoPath");
            return (Criteria) this;
        }

        public Criteria andInferVideoPathNotBetween(String value1, String value2) {
            addCriterion("course_team.infer_video_path not between", value1, value2, "inferVideoPath");
            return (Criteria) this;
        }

        public Criteria andIsInferCommittedIsNull() {
            addCriterion("course_team.is_infer_committed is null");
            return (Criteria) this;
        }

        public Criteria andIsInferCommittedIsNotNull() {
            addCriterion("course_team.is_infer_committed is not null");
            return (Criteria) this;
        }

        public Criteria andIsInferCommittedEqualTo(Boolean value) {
            addCriterion("course_team.is_infer_committed =", value, "isInferCommitted");
            return (Criteria) this;
        }

        public Criteria andIsInferCommittedNotEqualTo(Boolean value) {
            addCriterion("course_team.is_infer_committed <>", value, "isInferCommitted");
            return (Criteria) this;
        }

        public Criteria andIsInferCommittedGreaterThan(Boolean value) {
            addCriterion("course_team.is_infer_committed >", value, "isInferCommitted");
            return (Criteria) this;
        }

        public Criteria andIsInferCommittedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("course_team.is_infer_committed >=", value, "isInferCommitted");
            return (Criteria) this;
        }

        public Criteria andIsInferCommittedLessThan(Boolean value) {
            addCriterion("course_team.is_infer_committed <", value, "isInferCommitted");
            return (Criteria) this;
        }

        public Criteria andIsInferCommittedLessThanOrEqualTo(Boolean value) {
            addCriterion("course_team.is_infer_committed <=", value, "isInferCommitted");
            return (Criteria) this;
        }

        public Criteria andIsInferCommittedIn(List<Boolean> values) {
            addCriterion("course_team.is_infer_committed in", values, "isInferCommitted");
            return (Criteria) this;
        }

        public Criteria andIsInferCommittedNotIn(List<Boolean> values) {
            addCriterion("course_team.is_infer_committed not in", values, "isInferCommitted");
            return (Criteria) this;
        }

        public Criteria andIsInferCommittedBetween(Boolean value1, Boolean value2) {
            addCriterion("course_team.is_infer_committed between", value1, value2, "isInferCommitted");
            return (Criteria) this;
        }

        public Criteria andIsInferCommittedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("course_team.is_infer_committed not between", value1, value2, "isInferCommitted");
            return (Criteria) this;
        }

        public Criteria andInferCommitTimeIsNull() {
            addCriterion("course_team.infer_commit_time is null");
            return (Criteria) this;
        }

        public Criteria andInferCommitTimeIsNotNull() {
            addCriterion("course_team.infer_commit_time is not null");
            return (Criteria) this;
        }

        public Criteria andInferCommitTimeEqualTo(Date value) {
            addCriterion("course_team.infer_commit_time =", value, "inferCommitTime");
            return (Criteria) this;
        }

        public Criteria andInferCommitTimeNotEqualTo(Date value) {
            addCriterion("course_team.infer_commit_time <>", value, "inferCommitTime");
            return (Criteria) this;
        }

        public Criteria andInferCommitTimeGreaterThan(Date value) {
            addCriterion("course_team.infer_commit_time >", value, "inferCommitTime");
            return (Criteria) this;
        }

        public Criteria andInferCommitTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("course_team.infer_commit_time >=", value, "inferCommitTime");
            return (Criteria) this;
        }

        public Criteria andInferCommitTimeLessThan(Date value) {
            addCriterion("course_team.infer_commit_time <", value, "inferCommitTime");
            return (Criteria) this;
        }

        public Criteria andInferCommitTimeLessThanOrEqualTo(Date value) {
            addCriterion("course_team.infer_commit_time <=", value, "inferCommitTime");
            return (Criteria) this;
        }

        public Criteria andInferCommitTimeIn(List<Date> values) {
            addCriterion("course_team.infer_commit_time in", values, "inferCommitTime");
            return (Criteria) this;
        }

        public Criteria andInferCommitTimeNotIn(List<Date> values) {
            addCriterion("course_team.infer_commit_time not in", values, "inferCommitTime");
            return (Criteria) this;
        }

        public Criteria andInferCommitTimeBetween(Date value1, Date value2) {
            addCriterion("course_team.infer_commit_time between", value1, value2, "inferCommitTime");
            return (Criteria) this;
        }

        public Criteria andInferCommitTimeNotBetween(Date value1, Date value2) {
            addCriterion("course_team.infer_commit_time not between", value1, value2, "inferCommitTime");
            return (Criteria) this;
        }

        public Criteria andInferScoreIsNull() {
            addCriterion("course_team.infer_score is null");
            return (Criteria) this;
        }

        public Criteria andInferScoreIsNotNull() {
            addCriterion("course_team.infer_score is not null");
            return (Criteria) this;
        }

        public Criteria andInferScoreEqualTo(Integer value) {
            addCriterion("course_team.infer_score =", value, "inferScore");
            return (Criteria) this;
        }

        public Criteria andInferScoreNotEqualTo(Integer value) {
            addCriterion("course_team.infer_score <>", value, "inferScore");
            return (Criteria) this;
        }

        public Criteria andInferScoreGreaterThan(Integer value) {
            addCriterion("course_team.infer_score >", value, "inferScore");
            return (Criteria) this;
        }

        public Criteria andInferScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("course_team.infer_score >=", value, "inferScore");
            return (Criteria) this;
        }

        public Criteria andInferScoreLessThan(Integer value) {
            addCriterion("course_team.infer_score <", value, "inferScore");
            return (Criteria) this;
        }

        public Criteria andInferScoreLessThanOrEqualTo(Integer value) {
            addCriterion("course_team.infer_score <=", value, "inferScore");
            return (Criteria) this;
        }

        public Criteria andInferScoreIn(List<Integer> values) {
            addCriterion("course_team.infer_score in", values, "inferScore");
            return (Criteria) this;
        }

        public Criteria andInferScoreNotIn(List<Integer> values) {
            addCriterion("course_team.infer_score not in", values, "inferScore");
            return (Criteria) this;
        }

        public Criteria andInferScoreBetween(Integer value1, Integer value2) {
            addCriterion("course_team.infer_score between", value1, value2, "inferScore");
            return (Criteria) this;
        }

        public Criteria andInferScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("course_team.infer_score not between", value1, value2, "inferScore");
            return (Criteria) this;
        }

        public Criteria andInferRemarkIsNull() {
            addCriterion("course_team.infer_remark is null");
            return (Criteria) this;
        }

        public Criteria andInferRemarkIsNotNull() {
            addCriterion("course_team.infer_remark is not null");
            return (Criteria) this;
        }

        public Criteria andInferRemarkEqualTo(String value) {
            addCriterion("course_team.infer_remark =", value, "inferRemark");
            return (Criteria) this;
        }

        public Criteria andInferRemarkNotEqualTo(String value) {
            addCriterion("course_team.infer_remark <>", value, "inferRemark");
            return (Criteria) this;
        }

        public Criteria andInferRemarkGreaterThan(String value) {
            addCriterion("course_team.infer_remark >", value, "inferRemark");
            return (Criteria) this;
        }

        public Criteria andInferRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("course_team.infer_remark >=", value, "inferRemark");
            return (Criteria) this;
        }

        public Criteria andInferRemarkLessThan(String value) {
            addCriterion("course_team.infer_remark <", value, "inferRemark");
            return (Criteria) this;
        }

        public Criteria andInferRemarkLessThanOrEqualTo(String value) {
            addCriterion("course_team.infer_remark <=", value, "inferRemark");
            return (Criteria) this;
        }

        public Criteria andInferRemarkLike(String value) {
            addCriterion("course_team.infer_remark like", value, "inferRemark");
            return (Criteria) this;
        }

        public Criteria andInferRemarkNotLike(String value) {
            addCriterion("course_team.infer_remark not like", value, "inferRemark");
            return (Criteria) this;
        }

        public Criteria andInferRemarkIn(List<String> values) {
            addCriterion("course_team.infer_remark in", values, "inferRemark");
            return (Criteria) this;
        }

        public Criteria andInferRemarkNotIn(List<String> values) {
            addCriterion("course_team.infer_remark not in", values, "inferRemark");
            return (Criteria) this;
        }

        public Criteria andInferRemarkBetween(String value1, String value2) {
            addCriterion("course_team.infer_remark between", value1, value2, "inferRemark");
            return (Criteria) this;
        }

        public Criteria andInferRemarkNotBetween(String value1, String value2) {
            addCriterion("course_team.infer_remark not between", value1, value2, "inferRemark");
            return (Criteria) this;
        }

        public Criteria andIsInferPublishedIsNull() {
            addCriterion("course_team.is_infer_published is null");
            return (Criteria) this;
        }

        public Criteria andIsInferPublishedIsNotNull() {
            addCriterion("course_team.is_infer_published is not null");
            return (Criteria) this;
        }

        public Criteria andIsInferPublishedEqualTo(Boolean value) {
            addCriterion("course_team.is_infer_published =", value, "isInferPublished");
            return (Criteria) this;
        }

        public Criteria andIsInferPublishedNotEqualTo(Boolean value) {
            addCriterion("course_team.is_infer_published <>", value, "isInferPublished");
            return (Criteria) this;
        }

        public Criteria andIsInferPublishedGreaterThan(Boolean value) {
            addCriterion("course_team.is_infer_published >", value, "isInferPublished");
            return (Criteria) this;
        }

        public Criteria andIsInferPublishedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("course_team.is_infer_published >=", value, "isInferPublished");
            return (Criteria) this;
        }

        public Criteria andIsInferPublishedLessThan(Boolean value) {
            addCriterion("course_team.is_infer_published <", value, "isInferPublished");
            return (Criteria) this;
        }

        public Criteria andIsInferPublishedLessThanOrEqualTo(Boolean value) {
            addCriterion("course_team.is_infer_published <=", value, "isInferPublished");
            return (Criteria) this;
        }

        public Criteria andIsInferPublishedIn(List<Boolean> values) {
            addCriterion("course_team.is_infer_published in", values, "isInferPublished");
            return (Criteria) this;
        }

        public Criteria andIsInferPublishedNotIn(List<Boolean> values) {
            addCriterion("course_team.is_infer_published not in", values, "isInferPublished");
            return (Criteria) this;
        }

        public Criteria andIsInferPublishedBetween(Boolean value1, Boolean value2) {
            addCriterion("course_team.is_infer_published between", value1, value2, "isInferPublished");
            return (Criteria) this;
        }

        public Criteria andIsInferPublishedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("course_team.is_infer_published not between", value1, value2, "isInferPublished");
            return (Criteria) this;
        }

        public Criteria andInferPublishTimeIsNull() {
            addCriterion("course_team.infer_publish_time is null");
            return (Criteria) this;
        }

        public Criteria andInferPublishTimeIsNotNull() {
            addCriterion("course_team.infer_publish_time is not null");
            return (Criteria) this;
        }

        public Criteria andInferPublishTimeEqualTo(Date value) {
            addCriterion("course_team.infer_publish_time =", value, "inferPublishTime");
            return (Criteria) this;
        }

        public Criteria andInferPublishTimeNotEqualTo(Date value) {
            addCriterion("course_team.infer_publish_time <>", value, "inferPublishTime");
            return (Criteria) this;
        }

        public Criteria andInferPublishTimeGreaterThan(Date value) {
            addCriterion("course_team.infer_publish_time >", value, "inferPublishTime");
            return (Criteria) this;
        }

        public Criteria andInferPublishTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("course_team.infer_publish_time >=", value, "inferPublishTime");
            return (Criteria) this;
        }

        public Criteria andInferPublishTimeLessThan(Date value) {
            addCriterion("course_team.infer_publish_time <", value, "inferPublishTime");
            return (Criteria) this;
        }

        public Criteria andInferPublishTimeLessThanOrEqualTo(Date value) {
            addCriterion("course_team.infer_publish_time <=", value, "inferPublishTime");
            return (Criteria) this;
        }

        public Criteria andInferPublishTimeIn(List<Date> values) {
            addCriterion("course_team.infer_publish_time in", values, "inferPublishTime");
            return (Criteria) this;
        }

        public Criteria andInferPublishTimeNotIn(List<Date> values) {
            addCriterion("course_team.infer_publish_time not in", values, "inferPublishTime");
            return (Criteria) this;
        }

        public Criteria andInferPublishTimeBetween(Date value1, Date value2) {
            addCriterion("course_team.infer_publish_time between", value1, value2, "inferPublishTime");
            return (Criteria) this;
        }

        public Criteria andInferPublishTimeNotBetween(Date value1, Date value2) {
            addCriterion("course_team.infer_publish_time not between", value1, value2, "inferPublishTime");
            return (Criteria) this;
        }

        public Criteria andRoadIntroIsNull() {
            addCriterion("course_team.road_intro is null");
            return (Criteria) this;
        }

        public Criteria andRoadIntroIsNotNull() {
            addCriterion("course_team.road_intro is not null");
            return (Criteria) this;
        }

        public Criteria andRoadIntroEqualTo(String value) {
            addCriterion("course_team.road_intro =", value, "roadIntro");
            return (Criteria) this;
        }

        public Criteria andRoadIntroNotEqualTo(String value) {
            addCriterion("course_team.road_intro <>", value, "roadIntro");
            return (Criteria) this;
        }

        public Criteria andRoadIntroGreaterThan(String value) {
            addCriterion("course_team.road_intro >", value, "roadIntro");
            return (Criteria) this;
        }

        public Criteria andRoadIntroGreaterThanOrEqualTo(String value) {
            addCriterion("course_team.road_intro >=", value, "roadIntro");
            return (Criteria) this;
        }

        public Criteria andRoadIntroLessThan(String value) {
            addCriterion("course_team.road_intro <", value, "roadIntro");
            return (Criteria) this;
        }

        public Criteria andRoadIntroLessThanOrEqualTo(String value) {
            addCriterion("course_team.road_intro <=", value, "roadIntro");
            return (Criteria) this;
        }

        public Criteria andRoadIntroLike(String value) {
            addCriterion("course_team.road_intro like", value, "roadIntro");
            return (Criteria) this;
        }

        public Criteria andRoadIntroNotLike(String value) {
            addCriterion("course_team.road_intro not like", value, "roadIntro");
            return (Criteria) this;
        }

        public Criteria andRoadIntroIn(List<String> values) {
            addCriterion("course_team.road_intro in", values, "roadIntro");
            return (Criteria) this;
        }

        public Criteria andRoadIntroNotIn(List<String> values) {
            addCriterion("course_team.road_intro not in", values, "roadIntro");
            return (Criteria) this;
        }

        public Criteria andRoadIntroBetween(String value1, String value2) {
            addCriterion("course_team.road_intro between", value1, value2, "roadIntro");
            return (Criteria) this;
        }

        public Criteria andRoadIntroNotBetween(String value1, String value2) {
            addCriterion("course_team.road_intro not between", value1, value2, "roadIntro");
            return (Criteria) this;
        }

        public Criteria andRoadPdfPathIsNull() {
            addCriterion("course_team.road_pdf_path is null");
            return (Criteria) this;
        }

        public Criteria andRoadPdfPathIsNotNull() {
            addCriterion("course_team.road_pdf_path is not null");
            return (Criteria) this;
        }

        public Criteria andRoadPdfPathEqualTo(String value) {
            addCriterion("course_team.road_pdf_path =", value, "roadPdfPath");
            return (Criteria) this;
        }

        public Criteria andRoadPdfPathNotEqualTo(String value) {
            addCriterion("course_team.road_pdf_path <>", value, "roadPdfPath");
            return (Criteria) this;
        }

        public Criteria andRoadPdfPathGreaterThan(String value) {
            addCriterion("course_team.road_pdf_path >", value, "roadPdfPath");
            return (Criteria) this;
        }

        public Criteria andRoadPdfPathGreaterThanOrEqualTo(String value) {
            addCriterion("course_team.road_pdf_path >=", value, "roadPdfPath");
            return (Criteria) this;
        }

        public Criteria andRoadPdfPathLessThan(String value) {
            addCriterion("course_team.road_pdf_path <", value, "roadPdfPath");
            return (Criteria) this;
        }

        public Criteria andRoadPdfPathLessThanOrEqualTo(String value) {
            addCriterion("course_team.road_pdf_path <=", value, "roadPdfPath");
            return (Criteria) this;
        }

        public Criteria andRoadPdfPathLike(String value) {
            addCriterion("course_team.road_pdf_path like", value, "roadPdfPath");
            return (Criteria) this;
        }

        public Criteria andRoadPdfPathNotLike(String value) {
            addCriterion("course_team.road_pdf_path not like", value, "roadPdfPath");
            return (Criteria) this;
        }

        public Criteria andRoadPdfPathIn(List<String> values) {
            addCriterion("course_team.road_pdf_path in", values, "roadPdfPath");
            return (Criteria) this;
        }

        public Criteria andRoadPdfPathNotIn(List<String> values) {
            addCriterion("course_team.road_pdf_path not in", values, "roadPdfPath");
            return (Criteria) this;
        }

        public Criteria andRoadPdfPathBetween(String value1, String value2) {
            addCriterion("course_team.road_pdf_path between", value1, value2, "roadPdfPath");
            return (Criteria) this;
        }

        public Criteria andRoadPdfPathNotBetween(String value1, String value2) {
            addCriterion("course_team.road_pdf_path not between", value1, value2, "roadPdfPath");
            return (Criteria) this;
        }

        public Criteria andRoadVideoPathIsNull() {
            addCriterion("course_team.road_video_path is null");
            return (Criteria) this;
        }

        public Criteria andRoadVideoPathIsNotNull() {
            addCriterion("course_team.road_video_path is not null");
            return (Criteria) this;
        }

        public Criteria andRoadVideoPathEqualTo(String value) {
            addCriterion("course_team.road_video_path =", value, "roadVideoPath");
            return (Criteria) this;
        }

        public Criteria andRoadVideoPathNotEqualTo(String value) {
            addCriterion("course_team.road_video_path <>", value, "roadVideoPath");
            return (Criteria) this;
        }

        public Criteria andRoadVideoPathGreaterThan(String value) {
            addCriterion("course_team.road_video_path >", value, "roadVideoPath");
            return (Criteria) this;
        }

        public Criteria andRoadVideoPathGreaterThanOrEqualTo(String value) {
            addCriterion("course_team.road_video_path >=", value, "roadVideoPath");
            return (Criteria) this;
        }

        public Criteria andRoadVideoPathLessThan(String value) {
            addCriterion("course_team.road_video_path <", value, "roadVideoPath");
            return (Criteria) this;
        }

        public Criteria andRoadVideoPathLessThanOrEqualTo(String value) {
            addCriterion("course_team.road_video_path <=", value, "roadVideoPath");
            return (Criteria) this;
        }

        public Criteria andRoadVideoPathLike(String value) {
            addCriterion("course_team.road_video_path like", value, "roadVideoPath");
            return (Criteria) this;
        }

        public Criteria andRoadVideoPathNotLike(String value) {
            addCriterion("course_team.road_video_path not like", value, "roadVideoPath");
            return (Criteria) this;
        }

        public Criteria andRoadVideoPathIn(List<String> values) {
            addCriterion("course_team.road_video_path in", values, "roadVideoPath");
            return (Criteria) this;
        }

        public Criteria andRoadVideoPathNotIn(List<String> values) {
            addCriterion("course_team.road_video_path not in", values, "roadVideoPath");
            return (Criteria) this;
        }

        public Criteria andRoadVideoPathBetween(String value1, String value2) {
            addCriterion("course_team.road_video_path between", value1, value2, "roadVideoPath");
            return (Criteria) this;
        }

        public Criteria andRoadVideoPathNotBetween(String value1, String value2) {
            addCriterion("course_team.road_video_path not between", value1, value2, "roadVideoPath");
            return (Criteria) this;
        }

        public Criteria andIsRoadCommittedIsNull() {
            addCriterion("course_team.is_road_committed is null");
            return (Criteria) this;
        }

        public Criteria andIsRoadCommittedIsNotNull() {
            addCriterion("course_team.is_road_committed is not null");
            return (Criteria) this;
        }

        public Criteria andIsRoadCommittedEqualTo(Boolean value) {
            addCriterion("course_team.is_road_committed =", value, "isRoadCommitted");
            return (Criteria) this;
        }

        public Criteria andIsRoadCommittedNotEqualTo(Boolean value) {
            addCriterion("course_team.is_road_committed <>", value, "isRoadCommitted");
            return (Criteria) this;
        }

        public Criteria andIsRoadCommittedGreaterThan(Boolean value) {
            addCriterion("course_team.is_road_committed >", value, "isRoadCommitted");
            return (Criteria) this;
        }

        public Criteria andIsRoadCommittedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("course_team.is_road_committed >=", value, "isRoadCommitted");
            return (Criteria) this;
        }

        public Criteria andIsRoadCommittedLessThan(Boolean value) {
            addCriterion("course_team.is_road_committed <", value, "isRoadCommitted");
            return (Criteria) this;
        }

        public Criteria andIsRoadCommittedLessThanOrEqualTo(Boolean value) {
            addCriterion("course_team.is_road_committed <=", value, "isRoadCommitted");
            return (Criteria) this;
        }

        public Criteria andIsRoadCommittedIn(List<Boolean> values) {
            addCriterion("course_team.is_road_committed in", values, "isRoadCommitted");
            return (Criteria) this;
        }

        public Criteria andIsRoadCommittedNotIn(List<Boolean> values) {
            addCriterion("course_team.is_road_committed not in", values, "isRoadCommitted");
            return (Criteria) this;
        }

        public Criteria andIsRoadCommittedBetween(Boolean value1, Boolean value2) {
            addCriterion("course_team.is_road_committed between", value1, value2, "isRoadCommitted");
            return (Criteria) this;
        }

        public Criteria andIsRoadCommittedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("course_team.is_road_committed not between", value1, value2, "isRoadCommitted");
            return (Criteria) this;
        }

        public Criteria andRoadCommitTimeIsNull() {
            addCriterion("course_team.road_commit_time is null");
            return (Criteria) this;
        }

        public Criteria andRoadCommitTimeIsNotNull() {
            addCriterion("course_team.road_commit_time is not null");
            return (Criteria) this;
        }

        public Criteria andRoadCommitTimeEqualTo(Date value) {
            addCriterion("course_team.road_commit_time =", value, "roadCommitTime");
            return (Criteria) this;
        }

        public Criteria andRoadCommitTimeNotEqualTo(Date value) {
            addCriterion("course_team.road_commit_time <>", value, "roadCommitTime");
            return (Criteria) this;
        }

        public Criteria andRoadCommitTimeGreaterThan(Date value) {
            addCriterion("course_team.road_commit_time >", value, "roadCommitTime");
            return (Criteria) this;
        }

        public Criteria andRoadCommitTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("course_team.road_commit_time >=", value, "roadCommitTime");
            return (Criteria) this;
        }

        public Criteria andRoadCommitTimeLessThan(Date value) {
            addCriterion("course_team.road_commit_time <", value, "roadCommitTime");
            return (Criteria) this;
        }

        public Criteria andRoadCommitTimeLessThanOrEqualTo(Date value) {
            addCriterion("course_team.road_commit_time <=", value, "roadCommitTime");
            return (Criteria) this;
        }

        public Criteria andRoadCommitTimeIn(List<Date> values) {
            addCriterion("course_team.road_commit_time in", values, "roadCommitTime");
            return (Criteria) this;
        }

        public Criteria andRoadCommitTimeNotIn(List<Date> values) {
            addCriterion("course_team.road_commit_time not in", values, "roadCommitTime");
            return (Criteria) this;
        }

        public Criteria andRoadCommitTimeBetween(Date value1, Date value2) {
            addCriterion("course_team.road_commit_time between", value1, value2, "roadCommitTime");
            return (Criteria) this;
        }

        public Criteria andRoadCommitTimeNotBetween(Date value1, Date value2) {
            addCriterion("course_team.road_commit_time not between", value1, value2, "roadCommitTime");
            return (Criteria) this;
        }

        public Criteria andRoadScoreIsNull() {
            addCriterion("course_team.road_score is null");
            return (Criteria) this;
        }

        public Criteria andRoadScoreIsNotNull() {
            addCriterion("course_team.road_score is not null");
            return (Criteria) this;
        }

        public Criteria andRoadScoreEqualTo(Integer value) {
            addCriterion("course_team.road_score =", value, "roadScore");
            return (Criteria) this;
        }

        public Criteria andRoadScoreNotEqualTo(Integer value) {
            addCriterion("course_team.road_score <>", value, "roadScore");
            return (Criteria) this;
        }

        public Criteria andRoadScoreGreaterThan(Integer value) {
            addCriterion("course_team.road_score >", value, "roadScore");
            return (Criteria) this;
        }

        public Criteria andRoadScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("course_team.road_score >=", value, "roadScore");
            return (Criteria) this;
        }

        public Criteria andRoadScoreLessThan(Integer value) {
            addCriterion("course_team.road_score <", value, "roadScore");
            return (Criteria) this;
        }

        public Criteria andRoadScoreLessThanOrEqualTo(Integer value) {
            addCriterion("course_team.road_score <=", value, "roadScore");
            return (Criteria) this;
        }

        public Criteria andRoadScoreIn(List<Integer> values) {
            addCriterion("course_team.road_score in", values, "roadScore");
            return (Criteria) this;
        }

        public Criteria andRoadScoreNotIn(List<Integer> values) {
            addCriterion("course_team.road_score not in", values, "roadScore");
            return (Criteria) this;
        }

        public Criteria andRoadScoreBetween(Integer value1, Integer value2) {
            addCriterion("course_team.road_score between", value1, value2, "roadScore");
            return (Criteria) this;
        }

        public Criteria andRoadScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("course_team.road_score not between", value1, value2, "roadScore");
            return (Criteria) this;
        }

        public Criteria andRoadRemarkIsNull() {
            addCriterion("course_team.road_remark is null");
            return (Criteria) this;
        }

        public Criteria andRoadRemarkIsNotNull() {
            addCriterion("course_team.road_remark is not null");
            return (Criteria) this;
        }

        public Criteria andRoadRemarkEqualTo(String value) {
            addCriterion("course_team.road_remark =", value, "roadRemark");
            return (Criteria) this;
        }

        public Criteria andRoadRemarkNotEqualTo(String value) {
            addCriterion("course_team.road_remark <>", value, "roadRemark");
            return (Criteria) this;
        }

        public Criteria andRoadRemarkGreaterThan(String value) {
            addCriterion("course_team.road_remark >", value, "roadRemark");
            return (Criteria) this;
        }

        public Criteria andRoadRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("course_team.road_remark >=", value, "roadRemark");
            return (Criteria) this;
        }

        public Criteria andRoadRemarkLessThan(String value) {
            addCriterion("course_team.road_remark <", value, "roadRemark");
            return (Criteria) this;
        }

        public Criteria andRoadRemarkLessThanOrEqualTo(String value) {
            addCriterion("course_team.road_remark <=", value, "roadRemark");
            return (Criteria) this;
        }

        public Criteria andRoadRemarkLike(String value) {
            addCriterion("course_team.road_remark like", value, "roadRemark");
            return (Criteria) this;
        }

        public Criteria andRoadRemarkNotLike(String value) {
            addCriterion("course_team.road_remark not like", value, "roadRemark");
            return (Criteria) this;
        }

        public Criteria andRoadRemarkIn(List<String> values) {
            addCriterion("course_team.road_remark in", values, "roadRemark");
            return (Criteria) this;
        }

        public Criteria andRoadRemarkNotIn(List<String> values) {
            addCriterion("course_team.road_remark not in", values, "roadRemark");
            return (Criteria) this;
        }

        public Criteria andRoadRemarkBetween(String value1, String value2) {
            addCriterion("course_team.road_remark between", value1, value2, "roadRemark");
            return (Criteria) this;
        }

        public Criteria andRoadRemarkNotBetween(String value1, String value2) {
            addCriterion("course_team.road_remark not between", value1, value2, "roadRemark");
            return (Criteria) this;
        }

        public Criteria andIsRoadPublishedIsNull() {
            addCriterion("course_team.is_road_published is null");
            return (Criteria) this;
        }

        public Criteria andIsRoadPublishedIsNotNull() {
            addCriterion("course_team.is_road_published is not null");
            return (Criteria) this;
        }

        public Criteria andIsRoadPublishedEqualTo(Boolean value) {
            addCriterion("course_team.is_road_published =", value, "isRoadPublished");
            return (Criteria) this;
        }

        public Criteria andIsRoadPublishedNotEqualTo(Boolean value) {
            addCriterion("course_team.is_road_published <>", value, "isRoadPublished");
            return (Criteria) this;
        }

        public Criteria andIsRoadPublishedGreaterThan(Boolean value) {
            addCriterion("course_team.is_road_published >", value, "isRoadPublished");
            return (Criteria) this;
        }

        public Criteria andIsRoadPublishedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("course_team.is_road_published >=", value, "isRoadPublished");
            return (Criteria) this;
        }

        public Criteria andIsRoadPublishedLessThan(Boolean value) {
            addCriterion("course_team.is_road_published <", value, "isRoadPublished");
            return (Criteria) this;
        }

        public Criteria andIsRoadPublishedLessThanOrEqualTo(Boolean value) {
            addCriterion("course_team.is_road_published <=", value, "isRoadPublished");
            return (Criteria) this;
        }

        public Criteria andIsRoadPublishedIn(List<Boolean> values) {
            addCriterion("course_team.is_road_published in", values, "isRoadPublished");
            return (Criteria) this;
        }

        public Criteria andIsRoadPublishedNotIn(List<Boolean> values) {
            addCriterion("course_team.is_road_published not in", values, "isRoadPublished");
            return (Criteria) this;
        }

        public Criteria andIsRoadPublishedBetween(Boolean value1, Boolean value2) {
            addCriterion("course_team.is_road_published between", value1, value2, "isRoadPublished");
            return (Criteria) this;
        }

        public Criteria andIsRoadPublishedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("course_team.is_road_published not between", value1, value2, "isRoadPublished");
            return (Criteria) this;
        }

        public Criteria andRoadPublishTimeIsNull() {
            addCriterion("course_team.road_publish_time is null");
            return (Criteria) this;
        }

        public Criteria andRoadPublishTimeIsNotNull() {
            addCriterion("course_team.road_publish_time is not null");
            return (Criteria) this;
        }

        public Criteria andRoadPublishTimeEqualTo(Date value) {
            addCriterion("course_team.road_publish_time =", value, "roadPublishTime");
            return (Criteria) this;
        }

        public Criteria andRoadPublishTimeNotEqualTo(Date value) {
            addCriterion("course_team.road_publish_time <>", value, "roadPublishTime");
            return (Criteria) this;
        }

        public Criteria andRoadPublishTimeGreaterThan(Date value) {
            addCriterion("course_team.road_publish_time >", value, "roadPublishTime");
            return (Criteria) this;
        }

        public Criteria andRoadPublishTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("course_team.road_publish_time >=", value, "roadPublishTime");
            return (Criteria) this;
        }

        public Criteria andRoadPublishTimeLessThan(Date value) {
            addCriterion("course_team.road_publish_time <", value, "roadPublishTime");
            return (Criteria) this;
        }

        public Criteria andRoadPublishTimeLessThanOrEqualTo(Date value) {
            addCriterion("course_team.road_publish_time <=", value, "roadPublishTime");
            return (Criteria) this;
        }

        public Criteria andRoadPublishTimeIn(List<Date> values) {
            addCriterion("course_team.road_publish_time in", values, "roadPublishTime");
            return (Criteria) this;
        }

        public Criteria andRoadPublishTimeNotIn(List<Date> values) {
            addCriterion("course_team.road_publish_time not in", values, "roadPublishTime");
            return (Criteria) this;
        }

        public Criteria andRoadPublishTimeBetween(Date value1, Date value2) {
            addCriterion("course_team.road_publish_time between", value1, value2, "roadPublishTime");
            return (Criteria) this;
        }

        public Criteria andRoadPublishTimeNotBetween(Date value1, Date value2) {
            addCriterion("course_team.road_publish_time not between", value1, value2, "roadPublishTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("course_team.create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("course_team.create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("course_team.create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("course_team.create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("course_team.create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("course_team.create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("course_team.create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("course_team.create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("course_team.create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("course_team.create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("course_team.create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("course_team.create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("course_team.update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("course_team.update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("course_team.update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("course_team.update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("course_team.update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("course_team.update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("course_team.update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("course_team.update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("course_team.update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("course_team.update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("course_team.update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("course_team.update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}